#ifndef MINI_BANK_REPORT_UTILS_HH
#define MINI_BANK_REPORT_UTILS_HH

#include "ReportManager.hh"
#include <chrono>
#include <iomanip>

namespace mini_bank {
    class ReportUtils {
    public:
        static std::string generateFilename(const std::string& prefix,
                                           const std::string& identifier = "") {
            auto now = std::chrono::system_clock::now();
            std::time_t now_time = std::chrono::system_clock::to_time_t(now);
            std::tm tm = *std::localtime(&now_time);
            
            std::ostringstream fn;
            fn << "transactions_" << identifier;
            if (!identifier.empty()) fn << "_";
            fn << std::put_time(&tm, "%F") << ".txt";
            return fn.str();
        }
    };
}

#endif // MINI_BANK_REPORT_UTILS_HH